# -*- coding:utf-8 -*-

# @Time    : 2023/5/10 13:54
# @Author  : zengwenjia
# @Email   : zengwenjia@lingxi.ai
# @Software: LLM_internal

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

from bot.insurance_consultant_axinsur.agent.llm_agent import LLMAgent
# 4.如果话术开头是"非常好"、"您做的非常好"则改为"好的"、"",如果话术结尾处是"吗?"、改为"吧?"
default_template = """
你是一名专业的保险销售员，你正在通过电话销售百万医疗保险。根据下面提示一步一步执行,不要无中生有。
你的回答必须从用户问题解答话术,和销售流程话术中选择一个或者多个录音编号进行回复,先解答用户异议后带流程,多个录音编号用|隔开:
注意事项:
1.不能自己提供话术，必须从我提供的话术里选择最合适
2.如果没有用户问题的解答话术，就继续播报当且销售节点的销售流程话术
3.只需要输出录音编号,禁止输出其他信息,输出例子: TYX-1C|TY1136-1C/TY1133-1-1C
4.你的目标是完成电话销售，用户拒绝后要进行劝服，不要轻易挂断电话
5.当选择多个话术时，要选择两句拼接在一起更通顺的话术

用户问题：
```
{question}
```
用户问题解答话术：
```
{solution}
```

当前销售流程的节点是：{sop}
销售流程话术：
```
{skill}
```
对话记录：
```
{conversation_history}
```

保险销售员:
"""
class Conversation(LLMAgent):
    def __init__(self, role, business_background, conversation_history, question, solution, sop, skill, user_job, underwriting):
        conversation_history = conversation_history.replace("保险规划师", "保险销售员")
        self.prompt = default_template.format(role=role,
                                              business_background=business_background,
                                              conversation_history=conversation_history,question=question,
                                              solution=solution, sop=sop,skill=skill, user_job=user_job, underwriting=underwriting)
        super().__init__(self.prompt)





